<?php
namespace src\logic;
class lverify {
	/**
	 * 验证是否是合法的Email地址
	 * @param string $chk_data
	 * @return boolean
	 */
	public static function is_email($chk_data) {
		return preg_match('/^[\w\.\-]{2,}@([\w\-]{2,}\.){1,}[a-z0-9]{2,8}$/i', $chk_data);
	}

	/**
	 * 验证是否是Ip
	 * @param string $chk_data
	 * @return boolean
	 */
	public static function is_ip($chk_data) {
		if (preg_match('/^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$/', $chk_data)) {
			return true;
		} else if (preg_match('/^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\:[0-9]{1,5}$/', $chk_data)) {
			return true;
		}
		return false;
	}

	/**
	 * 验证是否是域名
	 * @param string $chk_data
	 * @return boolean
	 */
	public static function is_domain($chk_data) {
		return preg_match('/^[\w\.]{2,}\.(com|cn|net|me|hk|info|dev)$/i', $chk_data);
	}

	/**
	 * 验证是否是合法的手机号码
	 * @param string $chk_data
	 * @return boolean
	 */
	public static  function is_mobile($chk_data) {
		return preg_match('/^[+][\d]{8,16}$/', $chk_data);
	}

	/**
	 * 验证是否是合法的日期
	 * @param string $chk_data
	 * @return boolean
	 */
	public static function is_date($chk_data) {
		return preg_match('/^[0-9]{4}[\-\/]?[0-9]{1,2}[\-\/]?[0-9]{1,2}$/', $chk_data);
	}

	/**
	 * 验证昵称格式是否合法
	 * @param string $chk_data
	 * @return boolean
	 */
	public static function is_nick($chk_data) {
		$nlen     = mb_strlen($chk_data, 'utf-8');
		return ($nlen < 2 || $nlen > 30)? false:true;
	}

	/**
	 * 验证是否是合法的电话号码
	 * @param string $chk_data
	 * @return boolean
	 */
	public static function is_phone($chk_data) {
		return preg_match('/^[0-9]{3,4}[\-]?[0-9]{7,8}$/', $chk_data);
	}

	/**
	 * 验证是否是Url地址
	 * @param string $chk_data
	 * @return boolean
	 */
	public static function is_url($chk_data) {
		return preg_match('/^http[s]?:\/\/.*$/', $chk_data);
	}


	/**
	 * 验证是否是合法账号字符串
	 * @param string $chk_data
	 * @return boolean
	 */
	public static function is_str($chk_data) {
		return preg_match('/^[\w\.\-@]+$/', $chk_data);
	}

	/**
	 * 验证是否是合法的密码串
	 * @param string $chk_data
	 * @return boolean
	 */
	public static function is_pwd($chk_data) {
		return preg_match('/^[^\s]{6,20}$/', $chk_data);
	}

	/**
	 * 验证是否是合法的二代身份证
	 * @param string $chk_data
	 * @return boolean
	 */
	public static function is_idcard($chk_data) {
		return preg_match('/^[0-9]{6}19[0-9]{2}[0-1][0-9]{7}$/',$chk_data);
	}

	/**
	 * 验证是否是合法的邮政编码
	 * @param string $chk_data
	 * @return boolean
	 */
	public static function is_zipcode($chk_data) {
		return preg_match('/^[0-9]{6}$/', $chk_data);
	}

	/**
	 * 验证是否是合法的QQ号码
	 * @param string $chk_data
	 * @return boolean
	 */
	public static function is_qq($chk_data) {
		return preg_match('/^[1-9]{1}[0-9]{5,18}$/', $chk_data);
	}

	/**
	 * 验收是否是格式1-1-1-1
	 * Enter description here ...
	 * @param string $chk_data
	 */
	public static function is_ukey($chk_data) {
		return preg_match('/^[0-9]{1,}\-[0-9]{1,}\-[0-9]{1,}\-[0-9]{1,}$/', $chk_data);
	}
}